home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1999 March
/
EnigmA AMIGA RUN 35 (1999)(G.R. Edizioni)(IT)[!][issue 1999-03].iso
/
www
/
amitrix
/
awn_1.7.lha
/
AWebNews_1.7
/
confignews.awebrx
< prev
next >
Wrap
Text File
|
1996-12-22
|
12KB
|
373 lines
/*
$VER: AWebNews.cnfg 1.7
22 Dec 1996
*/
/* Play with this script you could regret it !
... rename and wildcard delete happen
... external comands are enabled
See comments at start of news.awebrx for usage.
*/
/*Show calling parameters at top of page use 'on' or 'off'*/
showcomand='off'
options results
term='.'||'0d'x
newsgroupsfile="newsgroups"
ports = show('P')
parse var ports dummy 'AWEB.' portnr .
address value 'AWEB.' || portnr
'GET ACTIVEPORT'
awebhost = result
if ~show('L','rexxsupport.library') then
if ~addlib('rexxsupport.library',0,-30,0) then
exit(20)
parse arg addr
parse source prog_type result_flag called resolved ext host .
last_slash = lastpos('/',called)
last_colon = lastpos(':',called)
dir_pos = max(last_slash,last_colon)
if dir_pos > 0 then
current_dir = left(called,dir_pos)
else
current_dir = ''
address value awebhost
call readinfo
if ft='config' then call writeconfig
if ft='del' then call deletegroups
call configinfo
if many=''then many='10'
if bacc=''then bacc='#ffffff'
if texc=''then texc='#000000'
if spath='' then spath='t:'
if bfile='' then bfile='t:AWebNews.batch'
address command 'delete T:configawebnews.#?.html >NIL:'
fname='T:configawebnews.'time(S)'.html'
if open(1,fname,w) then do
call writeln(1,'<html><head><title>')
call writeln(1,'News Reader Utilities')
call writeln(1,'</title></head>')
if colo='on' then call writeln(1,'<body bgcolor="'bacc'" text="'texc'">')
if showcomand='on' then call writeln(1,addr '<br>')
call writeln(1,'<form action="x-aweb:rexx/'||called||'">')
call writeln(1,'<a name = "config"></a>')
call writeln(1,'<center><hr>')
call writeln(1,' <input type="submit" value="Store Configuration"> - ')
call writeln(1,'<a href="x-aweb:rexx/'current_dir'news.awebrx">Read News </a>')
call writeln(1,' - <a href="#dpage">Maintain News Groups</a> - ')
call writeln(1,'<a href="file://localhost/'current_dir'AWebNews_doc.html#cfg">Help</a><br>')
call writeln(1,'<table>')
call writeln(1,'<tr><td><td align=center><b>Reader Configuration </b> - ')
call writeln(1,'<a href="file://localhost/'current_dir'AWebNews_doc.html#cfg">Help</a>')
call writeln(1,'<tr><td align=center><b>Required</b> ')
call writeln(1,'<tr><td>News Host<td><input size=54 name="host" value="'NewsHost'">')
call writeln(1,'<tr><td align=center><b>Optional</b>')
call writeln(1,'<tr><td>Get How Many ?<td><input size=3 name="many" value="'many'"> ')
call writeln(1,'( for retrieving several files at a time )')
if scan = 'on' then call writeln(1,'<tr><td>Display <td>Index List <input type="checkbox" checked name="scan"> ')
else call writeln(1,'<tr><td>Display<td> Index List<input type="checkbox" name="scan">')
if sho = 'on' then call writeln(1,'Short Headers <input type="checkbox" checked name="sho"> ')
else call writeln(1,'Short Headers <input type="checkbox" name="sho"> ')
if lho = 'on' then call writeln(1,'Long Headers <input type="checkbox" checked name="lho"> ')
else call writeln(1,'Long Headers <input type="checkbox" name="lho"> ')
call writeln(1,'<tr><td>Filter')
call writeln(1,'<td><input size=30 name="phil" value="'fixta(phil)'">')
if fcase = 'on' then call writeln(1,' Ignore case <input type="checkbox" checked name="fcase"> ')
else call writeln(1,' Ignore case <input type="checkbox" name="fcase"> ')
if philo = 'on' then call writeln(1,' Use Filter <input type="checkbox" checked name="philo"> ')
else call writeln(1,' Use Filter <input type="checkbox" name="philo"> ')
call writeln(1,'<tr><td>Colors ')
call writeln(1,'<td>Background <input size=7 name="bacc" value='bacc'>')
call writeln(1,'Text <input size=7 name="texc" value='texc'> Use colors')
if colo='on' then call writeln(1,'<input type="checkbox" checked name="colo"> ')
else call writeln(1,'<input type="checkbox" name="colo"> ')
call writeln(1,'<tr><td>Save Path <td><input size=54 name="spath" value="'spath'">')
call writeln(1,'<tr><td>Batch File <td><input size=54 name="bfile" value="'bfile'">')
call writeln(1,'<tr><td><td><hr>')
call writeln(1,'<tr><td><a name = "postconfig"></a>')
call writeln(1,'<td align=center><b>Posting Configuration</b> - ')
call writeln(1,'<a href="file://localhost/'current_dir'AWebNews_doc.html#post_cfg">Help</a>')
call writeln(1,'<tr><td align=center><b>Required</b>')
call writeln(1,'<tr><td>From:<td><input size=54 name="eadr" value="'eadr'">')
if tah='' then tah=15
if taw='' then taw=75
call writeln(1,'<tr><td>Text Area <td><input size=3 name="taw" value="'taw'"> ')
call writeln(1,' wide <input size=3 name="tah" value="'tah'"> high ')
call writeln(1,'<tr><td align=center><b>Optional</b>')
call writeln(1,'<tr><td>Distribution: <td><input size=54 name="disth" value="'disth'">')
if disto='on' then call writeln(1,' <td>use <input type="checkbox" checked name="disto"> ')
else call writeln(1,'<td>use <input type="checkbox" name="disto">')
call writeln(1,'<tr><td>Reply-To:<td><input size=54 name="reph" value="'reph'">')
if repo='on' then call writeln(1,'<td>use <input type="checkbox" checked name="repo"> ')
else call writeln(1,'<td>use <input type="checkbox" name="repo">')
call writeln(1,'<tr><td>Signature file<td><input size=54 name="sigf" value="'sigf'">')
if sigo='on' then call writeln(1,'<td>use <input type="checkbox" checked name="sigo"> ')
else call writeln(1,' <td>use <input type="checkbox" name="sigo"> ')
call writeln(1,'<tr><td>Headers file<td><input size=54 name="headf" value="'headf'">')
if heado='on' then call writeln(1,'<td>use <input type="checkbox" checked name="heado"> ')
else call writeln(1,'<td>use <input type="checkbox" name="heado"> ')
call writeln(1,'<tr><td>Follow ups ')
if qhead='on' then call writeln(1,'<td> Quote Header <input type="checkbox" checked name="qhead"> ')
else call writeln(1,'<td>Quote header <input type="checkbox" name="qhead">')
if qbody='on' then call writeln(1,' Quote Body <input type="checkbox" checked name="qbody"> ')
else call writeln(1,' Quote Body <input type="checkbox" name="qbody">')
call writeln(1,'</table>')
call writeln(1,' <input type="submit" value="Store Configuration">')
call writeln(1,'<input type="hidden" value="config" name="ft"> ')
call writeln(1,'</form>')
call writeln(1,'<form action="x-aweb:rexx/'||called||'">')
call writeln(1,'<a name="dpage"></a>')
call writeln(1,'<hr><center><b>Maintain Group List</b>')
call writeln(1,'<a href="file://localhost/'current_dir'AWebNews_doc.html#form_delete_ng">Help</a><br>')
call writeln(1,'<br>Select News Groups to REMOVE from list')
call writeln(1,'<br><select multiple name="grouplist" size="5">')
if open(7,current_dir||newsgroupsfile,r) then do
groupinfo='.'
do while groupinfo~=""
groupinfo = readln(7)
parse var groupinfo grp list
if grp~="" then call writeln(1,'<option> 'grp)
end
call close(7)
end
call writeln(1,'</select><br>')
call writeln(1,'<b>CAUTION </b><input type="submit" value="DELETE news groups"> can not be undone!<br>')
call writeln(1,'<a href="#config">Configuration</a>')
call writeln(1,' - <a href="x-aweb:rexx/'current_dir'news.awebrx">Read News </a>')
call writeln(1,'<input type="hidden" value="del" name="ft"> ')
call writeln(1,'</form>')
call writeln(1, '<hr></body></html>')
call close(1)
end
'OPEN file://localhost/'fname'#config'
'ALLOWCMD'
'SCREENTOFRONT'
'ACTIVATEWINDOW'
exit
configinfo:
if open(2,current_dir||'newsconfig',r) then do
configinfo = fixhtml(readch(2,3000))
parse var configinfo . 'qhead ' qhead '0a'x
parse var configinfo . 'qbody ' qbody '0a'x
parse var configinfo . 'colo ' colo '0a'x
parse var configinfo . 'texc ' texc '0a'x
parse var configinfo . 'bacc ' bacc '0a'x
parse var configinfo . 'repo ' repo '0a'x
parse var configinfo . 'reph ' reph '0a'x
parse var configinfo . 'eadr ' eadr '0a'x
parse var configinfo . 'disto ' disto '0a'x
parse var configinfo . 'disth ' disth '0a'x
parse var configinfo . 'sigo ' sigo '0a'x
parse var configinfo . 'sigf ' sigf '0a'x
parse var configinfo . 'heado ' heado '0a'x
parse var configinfo . 'headf ' headf '0a'x
parse var configinfo . 'bfile ' bfile '0a'x
parse var configinfo . 'host ' NewsHost '0a'x
parse var configinfo . 'many ' many '0a'x
parse var configinfo . 'sho ' sho '0a'x
parse var configinfo . 'lho ' lho '0a'x
parse var configinfo . 'spath ' spath '0a'x
parse var configinfo . 'tah ' tah '0a'x
parse var configinfo . 'taw ' taw '0a'x
parse var configinfo . 'scan ' scan '0a'x
parse var configinfo . 'phil ' phil '0a'x
parse var configinfo . 'philo ' philo '0a'x
parse var configinfo . 'fcase ' fcase '0a'x
call close(2)
end
return
readinfo:
phil=fixphil(addr);
parse var addr . 'colo="' colo '"' .
parse var addr . 'bacc="' bacc '"' .
parse var addr . 'texc="' texc '"' .
parse var addr . 'tah="' tah '"' .
parse var addr . 'taw="' taw '"' .
parse var addr . 'qbody="' qbody '"' .
parse var addr . 'qhead="' qhead '"' .
parse var addr . 'eadr="' eadr '"' .
parse var addr . 'disto="' disto '"' .
parse var addr . 'disth="' disth '"' .
parse var addr . 'sigo="' sigo '"' .
parse var addr . 'spath="' spath '"' .
parse var addr . 'sigf="' sigf '"' .
parse var addr . 'heado="' heado '"' .
parse var addr . 'headf="' headf '"' .
parse var addr . 'repo="' repo '"' .
parse var addr . 'reph="' reph '"' .
parse var addr . 'bfile="' bfile '"' .
parse var addr . 'host="' NewsHost '"' .
parse var addr . 'ft="' ft '"' .
parse var addr . 'many="' many '"' .
parse var addr . 'sho="' sho '"' .
parse var addr . 'lho="' lho '"' .
parse var addr . 'scan="' scan '"' .
parse var addr . 'fcase="' fcase '"' .
parse var addr . 'philo="' philo '"' .
return
writeconfig:
if exists(current_dir||'newsconfig') then call delete(current_dir||'newsconfig')
if open(2,current_dir||'newsconfig',w) then do
call writeln(2,'host 'NewsHost)
call writeln(2,'bfile 'bfile)
call writeln(2,'many 'many)
call writeln(2,'spath 'spath)
call writeln(2,'sho 'sho)
call writeln(2,'lho 'lho)
call writeln(2,'tah 'tah)
call writeln(2,'taw 'taw)
call writeln(2,'scan 'scan)
call writeln(2,'eadr 'eadr)
call writeln(2,'sigo 'sigo)
call writeln(2,'sigf 'sigf)
call writeln(2,'heado 'heado)
call writeln(2,'headf 'headf)
call writeln(2,'disto 'disto)
call writeln(2,'disth 'disth)
call writeln(2,'repo 'repo)
call writeln(2,'reph 'reph)
call writeln(2,'qbody 'qbody)
call writeln(2,'qhead 'qhead)
call writeln(2,'bacc 'bacc)
call writeln(2,'texc 'texc)
call writeln(2,'colo 'colo)
call writeln(2,'fcase 'fcase)
call writeln(2,'phil 'phil)
call writeln(2,'philo 'philo)
call close(2)
end
return
deletegroups:
if open(6,current_dir||newsgroupsfile'.new',w) then do
if open(7,current_dir||newsgroupsfile,r) then do
do until groupinfo = ''
groupinfo = readln(7)
parse var groupinfo grp .
listwork=addr
dflag=''
do until nextgrp=''
parse var listwork . 'grouplist="' nextgrp '"' listwork
if nextgrp=grp then dflag='on'
end
if dflag~='on'&groupinfo~='' then call writeln(6,groupinfo)
end
call close(7)
end
call close(6)
if exists(current_dir||newsgroupsfile) then call delete(current_dir||newsgroupsfile)
call rename(current_dir||newsgroupsfile'.new', current_dir||newsgroupsfile)
end
return
fixhtml: procedure
parse arg a
a=a'-'
c=''
parse var a b '&' a
do while a~=''
c=c||b'&'
parse var a b '&' a
end
a=c||b
c=''
parse var a b '<' a
do while a~=''
c=c||b'<'
parse var a b '<' a
end
a=c||b
c=''
parse var a b '>' a
do while a~=''
c=c||b'>'
parse var a b '>' a
end
a=c||b
return left(a,length(a)-1)
fixta: procedure
parse arg a
a=fixhtml(a)
a=a'-'
c=''
parse var a b '"' a
do while a~=''
c=c||b'"'
parse var a b '&' a
end
a=c||b
return left(a,length(a)-1)
fixphil: procedure
parse arg a
c=''
parse var a b '*"' a
do while a~=''
c=c||b'*q'
parse var a b '*"' a
end
a=c||b
parse var a . 'phil="' a '"' .
c=''
parse var a b '*' a
do while a~=''
d=left(a,1)
if d='N' then c=c||b||'0a'x
else if d='q' then c=c||b||'"'
else if d='"'|d='*'|d="'"|d='$'then c=c||b||d
else do
c=c||b||'*'
a=d||a
end
parse VALUE (substr(a,2)) WITH b '*' a
end
return c||b